package com.hx.er.service.manager;

import java.util.List;
import java.util.Map;

import com.hx.er.bean.base.UserBean;
import com.hx.er.bean.detail.UserDetailBean;
import com.hx.er.common.entity.LoginInfoEntity;

public interface IManagerUserService {
	/**
	 * 更新用户信息
	 * 
	 * @param userBean
	 * @return
	 */
	public int updateUserInfo(UserBean userBean);

	/**
	 * 更新用户密码
	 * 
	 * @param userBean
	 * @return
	 */
	public int updateUserPassword(Map<String, Object> params);

	/**
	 * 通过用户编号查询用户信息
	 * 
	 * @param userBean
	 * @return
	 */
	public UserBean getUserAliveById(long userId);

	/**
	 * 用户名查询用户信息
	 * 
	 * @param userBean
	 * @return
	 */
	public UserBean getUserAlive(UserBean userBean);

	/**
	 * 查询用户列表
	 * 
	 * @param conditions
	 * @return
	 */
	public List<UserDetailBean> getUserDetailList(Map<String, Object> conditions);

	/**
	 * 查询用户数
	 * 
	 * @param conditions
	 * @return
	 */
	public int getUserDetailCount(Map<String, Object> conditions);

	/**
	 * 插入登录信息（实时统计使用）
	 * 
	 * @param loginInfoEntity
	 */
	public void insertLoginInfoWithoutId(LoginInfoEntity loginInfoEntity);

	/**
	 * 查询登录信息（实时统计使用），可根据不同条件查询不同的结果
	 * 
	 * @param loginInfoEntity
	 * @return
	 */
	public List<LoginInfoEntity> getLoginInfoList(LoginInfoEntity loginInfoEntity);

	/**
	 * 查询信息数量
	 * 
	 * @param conditions
	 * @return
	 */
	public List<Map<Integer, Integer>> getFlowStatusCount(Map<String, String> conditions);
}
